function quickSort(arr) {
  //如果数组小于等于1 就不进行排序
  if (arr.length <= 1) return arr
  //取出中间值
  let middle = Math.floor(arr.length / 2)
  let middleValue = arr.splice(middle, 1)[0]
  //定义左右数组
  let leftArr = []
  let rightArr = []
  //把比中间值小的放左数组 大的放右数组
  for (let i = 0; i < arr.length; i++) {
    arr[i] < middleValue ? leftArr.push(arr[i]) : rightArr.push(arr[i])
  }
  //递归
  return [...quickSort(leftArr), middleValue, ...quickSort(rightArr)]
}

//生成随机数组并测试
let arr = []
for (let i = 0; i < 15; i++) {
  arr.push(Math.floor(Math.random() * 30))
}
console.log(arr)
console.log(quickSort(arr))

